home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ShareWare OnLine 2
/
ShareWare OnLine Volume 2 (CMS Software)(1993).iso
/
elecmail
/
rnet200f.zip
/
RNET_REF.DOC
< prev
next >
Wrap
Text File
|
1993-06-02
|
19KB
|
388 lines
╓──────┐ ╓────┐╓─┐ ╓─────┐ ╓─────┐
║ ╒══╗ │ ║ ╒╗ │║ │ ║ ╒═══╛ ╚═╗ ╒═╛ Version: 2.00
║ └──╜ │ ║ │║ │║ │ ║ └─┐ ║ │ Release: < beta >
║ ╒═╗ ╒╛ ║ │║ │║ │ ║ ╒═╛ ║ │
║ │ ║ └┐ ║ │║ └╜ │ ║ └───┐ ║ │ Copyright 1989-93 Robert Vostreys
╚═╛ ╚══╛ ╚═╛╚════╛ ╚═════╛ ╚═╛ All Rights Reserved Worldwide
_______________________________________________________________________________
Quick Reference Guide to RNET Configuration
(See RNET.DOC for a complete description)
Commandline Syntax:
RNET EXPORT host.cfg [options] {Export messages for HOST_ID}
RNET IMPORT host.cfg [options] {Import messages from HOST_ID}
RNET PACK host.cfg [options] {Build auto-pack batch only}
RNET SET host.cfg cnf# msg# {cnf#=conference number or ALL}
{msg#=message number, -number, or TOP}
Commandline Options:
-b = bios screen writes -q = quiet (no chirp on warning)
-m = monochrome colors -d = disable CRC32 dup checking if enabled
-c = reduce cga snow -z = disable DOS flush during imports
ONLY ## = process *only* specified conference (for import/export)
Environment:
RNET= d:\dir\ (for the location of the CFG files and logs)
TEMP= d:\dir\ (where RNET should place working/scratch files)
PCBDAT= d:\dir\name (of your PCBOARD.DAT file (should already be set))
_______________________________________________________________________________
CFG File Keywords
(new keywords for 2.xx have a '|')
Host and Local Identification:
| HOSTID = 1-8 character 'name' of your host system (used for .QWK, etc)
| LOCALID = 1-8 character 'name' of your system (used for .QWK, routing)
HOSTSYSOP = Your host sysop's name
LOCALSYSOP = Your name
MAKESYSOP = YES|NO (make LOCALSYSOP name into "SYSOP" when importing?)
KEYCODE = single character (used for cross and gateway echo confs)
Packet Locations and Processing:
COMPRESS = Command to compress outgoing REP packets ('PKZIP.EXE -ex')
UNCOMPRESS = Command to uncompress incoming QWK ('PKUNZIP.EXE -o')
WORKDIR = d:\dir\ (where RNET should unzip packets; overrides environ)
QWKPATH = d:\dir\ (where QWK packets should be found)
REPPATH = d:\dir\ (where REP packets should be built)
| KEEPPATH = d:\dir\ (location for backup QWK, REP, and RPF files)
| KEEPQWKS = 0-9 (number of backup QWK packets to keep)
| KEEPREPS = 0-9 (number of backup REP packets to keep)
| KEEPRPFS = 0-9 (number of backup RPF (RNET pointer) files to keep)
REVERSEQWK = YES|NO (reverse order of QWK import for Robocomm folks)
KILLQWK = YES|NO (delete QWK packets after SUCCESSFUL importing)
Conferences:
CONF = Local#,Host# [:Tag# FilterFile ConfFlags...]
| GLOBALFILTER = d:\dir\name (filename of global 'filter' instructions)
| DEFAULTFLAGS = PUBLIC PRIVATE TOALL ADDRESSED ANSI FILES IGNOREECHO ...
| AGELIMIT = 0-9999 (oldest message to accept (default=30 days))
| RPF = d:\dir\name (filename of RNET pointer file ('hostid.RPF'))
Old-style Conference Flags:
PRIVATE = YES|NO (global "send private mail in all confs")
PRIVATECONF = Conf#,Conf#... (list of conferences to accept private msgs)
COMMENTS = Conf#,Conf#... (list of conferences to accept comment msgs)
IGNOREECHO = Conf#,Conf#... (list of conferences to ignore echo flag)
ANSI = Conf#,Conf#... (list of conferences to accept ANSI)
Old-style Conference Filters:
HANDLE = NAME,NAME (translate names; see RNET.DOC)
TCAN = NAME (do not accept messages to/from this person)
TOCAN = NAME (do not accept messages addressed TO this person)
FRCAN = NAME (do not accept messages FROM this person)
PRIVATEUSER = NAME (user allowed to send private msg in public echo)
TCANTAG = search txt (do not accept msgs with 'search txt' in tagline)
KILLTAG = search txt (strip/remove taglines with 'search txt')
Taglines:
RTAG = ON|OFF|FIDO|INTERNET (style of " ■ RNET v.vv:" part)
HOSTORIGIN = tagline to append to host generated messages (same as HTAG0=)
ORIGIN = tagline to append to locally generated messages (same LTAG0=)
HTAG0..9 = up to 10 different taglines for host generated messages
LTAG0..9 = up to 10 different taglines for locally generated messages
Auto Message Packing Batch (see RNETPACK.DOC):
| AUTOPACK = YES|NO (automatically build RNETPACK.BAT after import)
| PACKLIST = d:\dir\name (filename of auto-pack rules ('RNETPACK.LST'))
| PACKBAT = d:\dir\name (filename of auto-pack batch ('RNETPACK.BAT'))
Reports (see @..@ codes listing below):
LONGCALLER = YES|NO (write long or short report to callers log)
CALLERSLOG = d:\dir\name (overrides PCBoard callers log file)
| RNETLOG = d:\dir\name (filename for history log ('RNET.LOG'))
| EVENTLOG = d:\dir\name (filename of "last mail event at" ('EVENT.LOG'))
CONFREPORT = d:\dir\name (filename of usage analysis ('hostid.LOG'))
DAILY = d:\dir\name (filename of daily report ('VERBOSE.day'))
SUPERLOG = d:\dir\name (filename for log of *every* message header)
| TAGLOG = d:\dir\name (filename for listing all net taglines)
| ORIGINLOG = d:\dir\name (filename for listing all @ORIGIN lines seen)
| NOTICELOG = d:\dir\name (filename for notice warnings ('NOTICE.LOG'))
| WARNINGLOG = d:\dir\name (filename for serious warnings ('WARNING.LOG'))
| ERRORLOG = d:\dir\name (filename for critical errors ('ERROR.LOG'))
Other:
KILLRE = YES|NO (remove "RE:" and "(R)" from subject line)
NODE = node# (override PCBoard.dat node number)
| YOUHAVEMAIL = YES|NO (update "you have mail waiting" flags)
| ROUTED = YES|NO (enable or disable @ORIGIN and @SEENBY lines)
| SWAPPATH = d:\dir\ (dir for swapping to disk (or use current dir))
| REFER = YES|NO (keep 'refer numbers' in sync from system to system)
| CHECK_NUMBERS= YES|NO (if REFER=YES; dup check new msg#s vs previous msgs)
| CHECK_CRC = YES|NO (if REFER=YES; dup check new msg#s using X.25 CRC32)
_______________________________________________________________________________
-------------------------------------------------------------------------------
Below are some quickie docs on the new features of RNET. These features and
functions will be fully documented in the release RNET.DOC. This information
is included for those who can figure out what I'm talking about (heh).
-------------------------------------------------------------------------------
Flags for DEFAULTFLAGS= and CONF=
Flags to ENABLE:
PUB PUBLIC (allow public messages)
PVT PRIVATE (allow private messages)
COM COMMENTS (allow comments)
ADD ADDRESSED TOANYONE (allow messages addressed to someone)
ALL TOALL (allow messages addressed to 'ALL')
ANS ANSI (allow and fix ANSI sequences)
ATC ATCODES (allow PCBoard @..@ codes)
FIL FILES ATTACH (allow file attaches)
NOE IGNOREECHO ALLECHO (echo messages regardless of ECHO flag)
ROU ROUTED (allow routed messages)
Flags to DISABLE:
NOPUB NOPUBLIC NO_PUBLIC (do not allow public messages)
NOPVT NOPRIVATE NO_PRIVATE (do not allow private messages)
NOCOM NOCOMMENTS NO_COMMENTS (do not allow comments)
NOADD NOADDRESS NO_ADDRESSED (do not allow messages addressed)
NOALL NOTOALL NO_TOALL (do not allow messages to 'ALL')
NOANS NOANSI NO_ANSI (do not allow (break) ANSI sequences)
NOATC NOATCODES NO_ATCODES (do not allow (break) PCBoard @..@ codes)
NOFIL NOFILE NO_FILES (do not allow file attaches)
NONOE MUSTECHO MUST_ECHO (always honor the ECHO flag)
NOROU NOROUTED NO_ROUTED (do not allow routed messages)
Usage:
The DEFAULTFLAGS= keyword tells RNET the flags to apply to all CONF=
statements that follow it. If not specified, the defaults for conferences
are: PUBLIC TOALL ADDRESSED. Example:
DEFAULTFLAGS=PUBLIC PRIVATE TOALL ADDRESSED ANSI
The CONF= statement has been expanded to allow the addition of a conference
specific filter file and the above flags. This method is easier to maintain
and config than the old "list of conference numbers" method. Example CONF=
statements:
DEFAULTFLAGS=PUBLIC PRIVATE TOALL ADDRESSED ANSI
CONF=1,254 ;(local 1 == host 254; default flags used; tag0)
CONF=2,255:1 ;(conf 2 == host 255; default flags; tag1)
CONF=3,256:1 none ;(htag1/tag1 used; default; no filters (global only))
CONF=4,257:1 atl.fil ;(use ATL.FIL for filter/tcan/tracking)
CONF=5,258:1 none NOPVT ;(uses default; PRIVATE is turned off)
CONF=6,259:5 ilink.fil ROUTED ;(use ilink.fil filters; routed mail; tag5)
CONF=7,260:0 none NOALL NOANSI ;(TOALL and ANSI overridden)
In general, setup DEFAULTFLAGS= to have the global rules for the network you
are echoing. Then, use CONF=local,host. If you want a different tagline
than HTAG0/LTAG0, add a ":tag#". If you want a conference specific filter
file applied, add that after the tagline entry. Use "none" if no conference
specific filters are to be applied. Beyond the filter filename, list any
changes to the DEFAULTFLAGS= entries (turning on or off whatever flags are
approperate). For the majority of the conferences, a simple CONF=#,# will
be all that's needed.
Any ';' or '(' denotes the beginning of a comment -- the rest of the line is
ignored.
_______________________________________________________________________________
Programmable 'Filter' Language
The programmable filter language uses keywords to allow specification of
what RNET should do with certain messages. You do *NOT* need to understand
or use the programmable filter language to use RNET. The old style TCAN=
HANDLE=, TCANTAG=, type statements still work. The filter language gives
you some additional abilities and features.
In general, the language syntax is as follows:
[process] [where] [what] "text string" [function] "spec string"
Process = Import, Export, Either, Both
Where = Name, User, Who, TO, FROM, Tagline, Body, Subject
What = Has, Includes, Contains, =, Is, Equals
"text" = Text string to search for
Function = Replacewith, =, Subst, Strip, Public, Private, Comment,
Tcan, Allow, Log, Write, Track
"spec" = "replacement text" for replacewith, subst, =
"filename" for log, write, track
The interpeter is smart enough to figure out most any way you want to
express your filters. Simply use a text editor to create a filter file
using names such as NETWORK.FIL, CONF50.FIL, or GLOBAL.FIL.
Blank lines and lines starting with a ';' are ignored. You cannot place
comments in the middle or at the end of a line since the ';' might be part
of a text string.
In the filter file, state, one per line, the filter instructions desired.
Examples of valid filter instruction lines (all of these do the exact same
thing):
IF DURING IMPORT NAME EQUALS "ROBERT VOSTREYS" THEN REPLACEWITH "SYSOP"
IF IMPORT NAME IS "ROBERT VOSTREYS" REPLACEWITH "SYSOP"
IMPORT NAME = "ROBERT VOSTREYS" = "SYSOP"
IF NAME = "ROBERT VOSTREYS" DURING IMPORT SUBST "SYSOP"
The last one, while out of order as per the language rules, still works! If
the interpreter cannot discern what you want it to do, it will log the
missing "parts" to WARNING.LOG. The language is NOT case sensitive -- CAPS
were used here to avoid confusion.
Keywords -- Process:
IMPORT = only apply filter during IMPORT
EXPORT = only apply filter during EXPORT
EITHER = apply filter during IMPORT and EXPORT
BOTH = apply filter during IMPORT and EXPORT
ANYTIME = apply filter during IMPORT and EXPORT
Keywords -- Where:
NAME = TO or FROM name
USER = TO or FROM name
WHO = TO or FROM name
TO = TO name
FROM = FROM name
TAG = tagline
TAGLINE = tagline
BODY = message body and tagline
TEXT = message body and tagline
SUBJECT = subject
Keywords -- What (must be followed by a "text string"):
HAS = check that the "text string" is contained anywhere within
INCLUDES= same as HAS
CONTAINS= same as HAS
EQUALS = TO, FROM, SUBJECT must start with specified "text string"
IS = same as EQUALS
= = same as EQUALS
Keywords -- Do (some functions require a following "spec string"):
REPLACEWITH = replace found text with following text (replaces entire TO,
FROM, SUBJECT; replaces only found text in body or tagline)
SUBST = same as REPLACEWITH
= = same as REPLACEWITH
STRIP = remove line from body or strip tagline (doesn't do anything
for TO, FROM, SUBJECT fields)
CUT = same as strip
PUBLIC = force message PUBLIC
MAKEPUBLIC = same as PUBLIC
PRIVATE = force message PRIVATE
MAKEPRIVATE = same as PRIVATE
COMMENT = force message to be a COMMENT (only sysop level can read)
TCAN = do not allow message ("spec" holds filename to write msg to)
DUMP = same as TCAN
KEEP = allow message to override conference rules (public, private,
routed, etc.. usually used to allow a Moderator to send
private messages in a public echo)
ALLOW = same as KEEP
LOG = write message to a log file (specified in "spec" that follows)
WRITE = same as LOG
MSG = same as LOG
HEADER = write message header (date, to, from, subject) to "spec" log
TRACK = same as HEADER
Keywords -- Ignored: IF DURING THE MESSAGE WHEN OR AND
Other example filter statements:
if import name = "FRANK BARRETT" tcan "frank.log"
if import to = "ALL " makepublic
if export tag has "TXT2MSG" strip
if import tag has "■ ByteBro" write "bb_tag.log"
if import tag has "■ ByteBro" tcan
if import body has " Ilink" subst " ILink"
if import body has " TRP " subst " TRP<tm> "
allow if import or export name is "BOBBY SUMRADA"
if subject is "New Member" allow
if subject has "is now carrying this conf" tcan
_______________________________________________________________________________
RNET @..@ Codes
RNET allows you to use specialized @..@ codes when specifying filenames and
in customized reports (not yet documented). These @..@ codes are most useful
for your DAILY type logs where you want a log kept for each day of the week,
or month, or whatever. RNET will always delete "tomorrows" log if using a
date based filename -- thus, if using @WEEKDAY@.LOG and today is Sunday,
RNET will write to SUN.LOG and will delete MON.LOG if it exists.
Note: You can also use *any* environment variables when specifying filenames
in your CFGs.
For example: %PCBDRIVE%%PCBDIR%\@WEEKDAY@_@HOSTID@.@MONTHSHORT@
Might yield: C:\PCB\SUN_FTL.JAN (not very useful)
(note the '\' after %PCBDIR% since PCBDIR= environment doesn't have one)
Another example: @HOME@@WEEKDAY@_@HOUR12@@AMPM@.LOG
Might result in: K:\RNET\SUN_04AM.LOG (more useful)
(note no '\' after @HOME@, since RNET knows to put one there)
General @..@ Codes
------------------
@HOME@ = "home" directory of RNET (blank or specified by RNET= env)
@NODE@ = node number for this node (either by PCBNODE= or PCB.DAT)
@HOST@ = specified <hostid> name
@HOSTID@ = specified <hostid> name
@LOCAL@ = specified <localid> name
@LOCALID@ = specified <localid> name
Time/Date @..@ Codes
--------------------
@WN@ = Weekday number (0=sun, 6=sat)
@WEEKDAYNUM@ = Weekday number (0=sun, 6=sat)
@WS@ = Weekday short name (SUN, MON,...SAT)
@WD@ = Weekday short name (SUN, MON,...SAT)
@WEEKDAY@ = Weekday short name (SUN, MON,...SAT)
@DAYOFWEEK@ = Weekday short name (SUN, MON,...SAT)
@WL@ = Weekday long name (Sunday...Saturday)
@WEEKDAYLONG@ = Weekday long name (Sunday...Saturday)
@DN@ = Day of the month (2 digit, 00..31)
@DAY@ = Day of the month (2 digit, 00..31)
@DAYOFMONTH@ = Day of the month (2 digit, 00..31)
@DY@ = Day of the year (3 digit, 001..366)
@DAYOFYEAR@ = Day of the year (3 digit, 001..366)
@MN@ = Month number (2 digit, 01..12)
@MONTH@ = Month number (2 digit, 01..12)
@MONTHNUM@ = Month number (2 digit, 01..12)
@MS@ = Month short name (JAN,FEB,...DEC)
@MONTHSHORT@ = Month short name (JAN,FEB,...DEC)
@ML@ = Month long name (January..December)
@MONTHLONG@ = Month long name (January..December)
@YS@ = Year short number (2 digit, 01..99)
@YEARSHORT@ = Year short number (2 digit, 01..99)
@YL@ = Year long number (4 digit, 1990..2099)
@YEARLONG@ = Year long number (4 digit, 1990..2099)
@WK@ = Week of the year (2 digit, 01..57)
@WEEK@ = Week of the year (2 digit, 01..57)
@WEEKNUM@ = Week of the year (2 digit, 01..57)
@H12@ = Hour, 12 hour format (2 digit, 01..12)
@12HOUR@ = Hour, 12 hour format (2 digit, 01..12)
@H24@ = Hour, 24 hour format (2 digit, 00..23)
@24HOUR@ = Hour, 24 hour format (2 digit, 00..23)
@HOUR@ = Hour, 24 hour format (2 digit, 00..23)
@MIN@ = Minutes (2 digit, 00..59)
@M@ = Minutes (2 digit, 00..59)
@AP@ = AM or PM (2 char)
@AM@ = AM or PM (2 char)
@AMPM@ = AM or PM (2 char)
@..@ Codes Useful for RNETPACK.BAT/RNETPACK.LST
-----------------------------------------------
@CONF@ = Conference number (0..65534)
@CONFNUM@ = Conference number (0..65534)
@CONFNAME@ = Conference name (Main Board, sci.astro, etc)
@MSGFILE@ = Conference messagebase (d:\pcb\conf\main, k:\conf55\msgs)
If you can think of any other @..@ codes you'd like to use, let me know.
_______________________________________________________________________________